Custom Validation Rules ব্যবহার করে CodeIgniter-এ ফর্ম বা ডেটা যাচাইয়ের জন্য আপনার নির্দিষ্ট নিয়ম তৈরি করা যায়। CodeIgniter এর বিল্ট-ইন ভ্যালিডেশন রুল ছাড়াও, কাস্টম ভ্যালিডেশন রুল যোগ করার মাধ্যমে আপনি অ্যাপ্লিকেশনকে আরও নমনীয় করতে পারেন।
Custom Validation Rules তৈরি করার ধাপ
ধাপ ১: Validation রুল তৈরি
Custom Validation Rules তৈরি করতে app/Validation ডিরেক্টরিতে একটি নতুন ক্লাস তৈরি করুন।
উদাহরণ:
app/Validationডিরেক্টরিতে একটি ফাইল তৈরি করুন (যেমন:CustomRules.php)।- ক্লাসের ভেতরে একটি ফাংশন যোগ করুন, যেখানে যাচাইয়ের লজিক থাকবে।
<?php
namespace App\Validation;
class CustomRules
{
public function validPhone(string $str, string $fields, array $data): bool
{
// কাস্টম লজিক: শুধুমাত্র ১১ সংখ্যার ফোন নম্বর গ্রহণ করবে
return preg_match('/^\d{11}$/', $str) === 1;
}
}
ধাপ ২: Custom Rules নিবন্ধন করা
Custom Validation Rule ব্যবহার করার জন্য এটিকে CodeIgniter-এ নিবন্ধন করতে হবে।
app/Config/Validation.phpফাইল খুলুন।$ruleSetsঅ্যারের মধ্যে আপনার ক্লাসটি যোগ করুন:public $ruleSets = [ \CodeIgniter\Validation\Rules::class, \App\Validation\CustomRules::class, // কাস্টম রুল যোগ করা ];
ধাপ ৩: Custom Rule ব্যবহার করা
Form validation এ Custom Rule ব্যবহার করতে পারবেন।
উদাহরণ:
$validation = \Config\Services::validation();
$rules = [
'phone' => 'required|validPhone', // Custom Rule 'validPhone' ব্যবহার
];
$data = [
'phone' => '01712345678',
];
if ($validation->setRules($rules)->run($data)) {
echo "Validation Passed!";
} else {
echo "Validation Failed!";
print_r($validation->getErrors());
}
Custom Validation Rules-এ Error Message সংযুক্ত করা
Custom Validation Rules-এর জন্য নির্দিষ্ট Error Message কনফিগার করা যায়।
Error Message যোগ করার ধাপ:
app/Language/en/Validation.phpফাইলটি খুলুন।আপনার কাস্টম রুলের জন্য একটি মেসেজ সংযুক্ত করুন:
return [ 'validPhone' => 'The {field} must be a valid 11-digit phone number.', ];
উদাহরণ: একটি সম্পূর্ণ কাস্টম রুল ইমপ্লিমেন্টেশন
Custom Rule: বয়স যাচাই
আপনি একটি রুল তৈরি করতে পারেন, যা চেক করবে একজন ব্যবহারকারীর বয়স ১৮-এর উপরে কিনা।
CustomRules.php:
<?php namespace App\Validation; class CustomRules { public function validAge(string $str, string $fields, array $data): bool { return (int)$str >= 18; } }Validation.php এ নিবন্ধন:
public $ruleSets = [ \CodeIgniter\Validation\Rules::class, \App\Validation\CustomRules::class, ];Validation Message যোগ:
app/Language/en/Validation.phpফাইল:return [ 'validAge' => 'The {field} must be 18 years or older.', ];Rule ব্যবহার:
$rules = [ 'age' => 'required|validAge', ]; $data = [ 'age' => 17, ]; if ($validation->setRules($rules)->run($data)) { echo "Validation Passed!"; } else { print_r($validation->getErrors()); }
Output:
Array
(
[age] => The age must be 18 years or older.
)
সুবিধা
- পুনরায় ব্যবহারযোগ্যতা: একই রুল একাধিক স্থানে ব্যবহার করা যায়।
- সহজ ব্যবস্থাপনা: বড় এবং জটিল যাচাই পদ্ধতি কাস্টম রুলের মাধ্যমে সহজে পরিচালনা করা যায়।
- Error Message কাস্টমাইজেশন: নির্দিষ্ট ফিল্ড অনুযায়ী ব্যবহারকারীর জন্য কাস্টম মেসেজ দেখানো যায়।
Custom Validation Rules ব্যবহার করে CodeIgniter-এ উন্নত এবং নির্ভুল ভ্যালিডেশন মেকানিজম তৈরি করা যায়, যা অ্যাপ্লিকেশনের ডেটা ইন্টিগ্রিটি নিশ্চিত করে।
Read more